const Subscription = require('egg').Subscription;
const moment = require('moment');
class UpdateSexual extends Subscription {
    // 通过 schedule 属性来设置定时任务的执行间隔等配置
    static get schedule() {
        return {
            cron: '0 50 23 * * ?', // 任务的间隔时间, 这个定义的10秒执行一次
            type: 'worker', // 指定所有的 worker都需要执行
            immediate: false,
        };
    }

    // subscribe 是真正定时任务执行时被运行的函数
    async subscribe() {
        const { ctx, app } = this;
        const user_id = "zhoukaidong";
        console.log("UpdateSexual--->任务执行 : " + new Date().toString());
        let nowTime = moment(Date.now()).format("YYYY-MM-DD");

        let rowData = await ctx.model.ProSexual.findOne({ "where": { user_id, create_time: nowTime + " 08:00:00" } });
        if (!rowData) {
            let uid = await app.utils.uuid.v1();
            await ctx.model.ProSexual.create({ uid, user_id, way: "-1", status: "00", create_time: nowTime });
        } else {
            console.log("今日签到成功");
        }
    }
}

module.exports = UpdateSexual;